package cn.kmbeast.mapper;

import cn.kmbeast.pojo.dto.query.extend.MessageQueryDto;
import cn.kmbeast.pojo.entity.Message;
import cn.kmbeast.pojo.vo.MessageVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface MessageMapper {

    /**
     * 返回的是收到影响的行数
     * 系统发送消息的话就是批量发送 所以这里修改为批量新增
     * @param messages
     */
    void batchSave(@Param("messages") List<Message> messages);

    /**
     * 通过ids可以直接拿到 集合List ids
     * @param ids
     */
    void batchDelete(@Param(value = "ids") List<Long> ids);

    /**
     * @param messageQueryDto
     * @return
     */

    List<MessageVo> query(MessageQueryDto messageQueryDto);

    /**
     * 根据查询条件查询
     * @param messageQueryDto
     * @return  返回查询的数据的总数  返回数据组成分页查询的一部分
     */
    Integer queryCount(MessageQueryDto messageQueryDto);


    /**
     * 通过用户Id 将用户所属的消息全部设置为已读
     * @param messageQueryDto 消息查询类
     */
    void clearMessage(MessageQueryDto messageQueryDto);
}
